package com.ruoyi.basic;

public class ExceptionTest1 {
    public static void main(String[] args) {
        try {
            test01();
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            test02();
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            methodThatThrowsException();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void test01() throws Exception {
        // 这个方法可能会抛出异常，但它没有返回值。
        throw new Exception("This is a test exception.");
    }

    public static boolean test02() throws Exception {
        // 这个方法可能会抛出异常，并且它有一个返回值。
        try {
            if (1 == 1/* some condition */) {
                throw new Exception("This is another test exception.");
            }
        } catch (Exception e) {
            throw e;
        } finally {
            return true; // 如果条件不满足，则返回true。
        }
    }

    public static int methodThatThrowsException() throws Exception {
        try {
            throw new Exception("An exception occurred");
        } finally {
            return 42; // 返回一个值
        }
    }
}
